layui.use(['table','util','form', 'layer', 'jquery'], function(){
    /*********************************** 首页 ***************************************/
    var table = layui.table, util=layui.util;
    var $ = layui.jquery;
    var form = layui.form,layer = layui.layer;

    //第一个实例
    table.render({
        id          : 'adminReload',
        elem        : '#adminList',
        url         : localStorage.getItem("url")+'ms-pms/user/query', //数据接口
        method      : 'POST',
        request     : {pageName : 'pageNo',limitName: 'pageSize'},
        headers     : {"token":localStorage.getItem("token")},
        page        : true, //开启分页
        loading     : true,
        contentType : 'application/json',
        limit       : 10,
        responseHandler : function (res) {
            // 可进行数据操作
            return {
                "count": res.data.total,
                "data" : res.data.data,
                "code" : res.code == 100000 ? 0 : -1 //code值为200表示成功
            };
        },
        cols: [[ //表头
            {field: 'id', title: 'ID', width:80 , sort: true},
            {field: 'name', title: '用户姓名', width:120 , sort: true},
            {field: 'tel', title: '电话', width:150 , sort: true},
            {field: 'account', title: '账号', width:80 },
            {field: 'status', title: '状态', width:80 , sort: true, templet: function(d) {return formatStatus(d.status);}},
            {field: 'createTime', title: '创建时间', width:180 , sort: true, templet: function(d) {return util.toDateString(d.createTime);}},
            {field:'right', title: '操作' ,toolbar:"#adminBar"}
        ]]
    });

    var active = {
        reload: function(){
            var adminReload = $('#adminReload');
            //执行重载
            table.reload('adminReload', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                ,where: {
                    name: adminReload.val()
                }
            });
        }
    };

    $('.adminTable .layui-btn').on('click', function(){
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });

    /************************************* 按钮 *******************************************/
    table.on('tool(adminList)', function(obj) {//监听表格列表每一行
        var data = obj.data;

        if(obj.event === 'use') {//启用

            updateStatus('启用', 1, obj, 1, data)

        } else if(obj.event === 'cancel') {//停用

            updateStatus('停用', 2, obj, 2, data)

        } else if(obj.event === 'del') {//删除

            updateStatus('删除', 3, obj, 3, data)

        } else if(obj.event === 'edit') {//修改

            x_admin_show('编辑','admin-add.html?'+data.id)

        } else if(obj.event === 'bind') {//分配角色

            x_admin_show('编辑','admin-bind.html?userId='+data.id+'&userName='+data.name)

        }
    })

    /*************************************** 绑定角色 ****************************************/

    //监听提交
    form.on('submit(bindRole)', function(data){
        myAjax($,'ms-pms/user/bind', data.field, function(){
            layer.msg("绑定成功", {icon: 6},function () {
                // 获得frame索引
                var index = parent.layer.getFrameIndex(window.name);
                //关闭当前frame
                parent.layer.close(index);
            });
        })
        return false;
    });

    /*********************************** 新增 ***************************************/
        $("#addAdmin").on('click', function() {
            x_admin_show('添加','admin-add.html')
        })

        //监听提交
        form.on('submit(add)', function(data){
            myAjax($,'ms-pms/user/save', data.field, function(){
                layer.alert("保存成功", {icon: 6},function () {
                    // 获得frame索引
                    var index = parent.layer.getFrameIndex(window.name);
                    //关闭当前frame
                    parent.layer.close(index);
                    window.parent.layui.table.reload("adminReload",{});
                });
            })
            return false;
        });

});
function formatStatus(status) {
    if(1 == status) {
        return '启用';
    } else {
        return '禁用';
    }
}
function updateStatus(msg, bol, obj, status, data) {
    var emptyObj = new Object();
    emptyObj.id = data.id;
    var targetUrl = '';
    if(1 == bol) {
        targetUrl = 'use';
    } else if(2 == bol) {
        targetUrl = 'cancel';
    } else if(3 == bol) {
        targetUrl = 'delete';
    }
    layer.confirm('您确定要'+msg+'这个用户吗？', function(index){
        myAjax($,'ms-pms/user/'+targetUrl+'/'+data.id, emptyObj, function(){
            //修改这一行
            if(3 == bol) {
                obj.del();
            } else {
                $('.adminTable .layui-btn').click()
            }
            //关闭弹框
            layer.close(index);
        })
    });
}